Digital images, such as geographical maps, gaming systems, anatomical diagrams, cartoons with speech bubbles and the like are found in, and may be displayed by, a wide variety of devices, including mobile phones, car navigation systems, hand-held GPS units, computers, and many websites. Although digital images are easy to view and to use from an end-user's perspective, creating a digital image is oftentimes a difficult and processor intensive task. The speed at which any given digital image display rendering device actually displays a given digital image, once directed to do so, can be slow due to the amount of data processing required. Display rendering delay is undesirable from the perspective of an end user.
Often, creation of a digital image begins with storing, in a digital image database, a set of raw digital image data corresponding to, for example, millions of streets and intersections and other features to be displayed as part of a geographic map. The raw digital map data stored in the map database is often derived from a variety of sources, with each source typically providing different amounts and types of information. For example, a first source may be a database having data related to a series of image files of satellite, or aerial, photography, a second source may be a database having data related to a series of local roadways, a third source may be a database having data related to a series of State roadways, a fourth source may be a database having data related to a series of Inter-State highways, etc. Conventionally, the resulting set of layered digital image data represents a composition of a plurality of image objects and image files dispersed within a plurality of layers. Any given image object is associated with a particular image object type, such as outlines of a roadway or an interior portion of a roadway. These individual sources of digital image map data may be compiled and stored in a digital image map database before being accessed by a client device or by other map display rendering applications and hardware.
A common methodology of rendering digital images uses what is traditionally called vector image data. Vector image data is typically used in high-resolution and fast-moving imaging systems, such as those associated with gaming systems, and in particular three-dimensional gaming systems. Generally speaking, vector image data (or vector data) includes data that defines specific image objects (also referred to as primitives) to be rendered as part of a display. In the context of a digital image representative of a geographic map, such image objects or primitives may define, for example, individual roads, text labels, areas, text boxes, buildings, railroads, rivers, points of interest markers, terrain features, bike paths, map or street labels, etc.
Customarily, layered digital map data includes a host of image objects dispersed throughout various layers. For example, a base layer of a geographical map may be an image file of a satellite, or aerial photograph of the earth's surface. A second layer may include local roadways represented by corresponding interior fill objects and outline objects (i.e. a roadway or roadways represented by a white interior with black outlines, for example). A third layer may contain State highways represented by corresponding interior fill objects and outline objects (i.e. a roadway or roadways represented by a grey interior with black outlines, for example). A fourth layer may include Inter-State highways represented by corresponding interior fill objects and outline objects (i.e. a roadway or roadways represented by an orange interior with black outlines, for example). Each image object within any given layer has various attributes, such as a shape, a color, a line size, an alpha blending value, a z-depth function value, etc. The rendered digital image map data may then be displayed as a compilation of all of these layers and image objects visually depicting a three-dimensional spatial relationship. It should be understood that any given set of original layered digital image data may have original layers formed differently, for example any combination of original layers may be combined to form a single intermediate image.
In conventional applications, layered digital image data is rendered on a corresponding client device display by rendering each layer individually. The original layers are first rasterized into intermediate images. The intermediate images are subsequently merged prior to rendering a display. The extra storage for the intermediate images and the time required to merge the intermediate images results in display rendering delay. Therefore, rendering of layered digital image map data using conventional applications requires large memory, is processor intensive and is time consuming.